#pragma once
#include "node.h"
#include "Matrix4x4.h"

class CGroup;

class CTransform :
	public CNode
{
private:
	Matrix4x4 Mtx;
	CGroup* Child;
public:
	CTransform(void);
	CTransform( const float dx, const float dy, const float dz  );
	CTransform( Matrix4x4 inMTX );
	~CTransform(void);
	void Draw(void);
	void SetGroup(CGroup* theGroup);

	void SetTranslate( const float dx, const float dy, const float dz  );
	void SetRotate( const float angle, const float rx, const float ry, const float rz  );
	void SetScale( const float sx, const float sy, const float sz  );
	void ApplyTransform( Matrix4x4 newMTX );

	//Get the transformation matrix
	Matrix4x4 GetTransform(void);
};
